﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace IRCClient
{
    /// <summary>
    /// Klasi sem sér um að Logga það sem gerist í irc clientinum.
    /// </summary>
	class IRCLogger
	{
		string filename;
		StreamWriter writer;

        /// <summary>
        /// Smiður sem upphafsstillir fileName og opnar nýtt stream fyrir writer til að skrifa í þá skrá.
        /// </summary>
        /// <param name="file">Notaður til að upphafsstilla meðlimabreytuna fileName</param>
		public IRCLogger(string file)
		{
			filename = file;
			writer = new StreamWriter(filename);
			writer.AutoFlush = true; // Svo það týnist ekki gögn ef að það crashar.
		}

        /// <summary>
        /// Fall sem sér um að skrifa skilaboð í skrá.
        /// </summary>
        /// <param name="source">Hvaðan skilaboðin koma.</param>
        /// <param name="message">Skilaboðin sem á að skrifa í skránna.</param>
		public void Write(string source, string message)
		{
			DateTime dtNow = DateTime.Now;
			writer.WriteLine("{0} {1} : {2} : {3}", dtNow.ToShortDateString(), dtNow.ToShortTimeString(), source, message);
		}
	}
}
